Argument Evaluation

The evaluation order of arguments in a procedure call is undefined. This is not a language change. In code compiled by both the STANDARD-COMPILER and TC the evaluation order of arguments in a combination combination is left to right. ORBIT produces code in which the evaluation order of arguments is undefined and not necessarily left to right.

Particularly insidious bugs have resulted from let forms whose clauses contain order dependent side effects. Because TC and the standard compiler evaluated the clauses of let forms of this sort in sequential order they produced the expected value. ORBIT will usually not produce the expected value. lettex2html_wrap_inline$^*$ should be used to ensure sequential evaluation order.